﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DAL;
using System.Data;
using System.IO;
using System.Configuration;
using System.Transactions;
using System.Data.Linq;
using System.ComponentModel;
using UtilityExtensions;

namespace BOL
{
   public class ProyeccionBL
    {
       [DataObjectMethod(DataObjectMethodType.Select, false)]
       public List<ProyeccionCompraInfo> GetObtenerProyeccionCompra (int idObra,int anio)
       {

           //-genera registros para graficos solo las ordenes de compra/ gastos de obra

           ObraBL obrabol = new ObraBL();


           obrabol.GenerarIndicador(DbUtil.Db, idObra, Convert.ToInt16(anio));

                   var q = from a in DbUtil.Db.ObraIndicadors
                        where a.idObra == idObra
                           & a.anio==anio
                           select new ProyeccionCompraInfo
                        {
                            anio=a.anio,
                            mes=a.mes,
                            totalProyectado= a.totalProyeccion,          
                            totalComprado = DbUtil.Db.RecepcionDocs.
                                            Where(p=>p.idObra==idObra & 
                                                  p.fechaEmisionDoc.Value.Year==a.anio & 
                                                  p.fechaEmisionDoc.Value.Month==a.mes).Sum(p=>p.netoMN).Value
                        };

                   return q.ToList();




       }

    }
}
